package com.ccp.dev.im.dao;

import com.ccp.dev.core.basic.base.IBaseMapper;
import com.ccp.dev.im.model.ImRoomUser;
import org.apache.ibatis.annotations.Mapper;
import com.ccp.dev.core.basic.web.query.QueryFilter;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Set;

/**
 * 群聊成员 信息数据库操作类
 *
 * @author y
 * @date 2020-02-17 11:39:36
 */
@Mapper
public interface ImRoomUserDao extends IBaseMapper<ImRoomUser,String> {

    List<ImRoomUser> queryAll(QueryFilter queryFilter);

    /**
     * 根据群ID查询群成员ID集合
     *
     * @param roomId 群ID
     * @return 集合
     */
    Set<String> getRoomUserIdsByRoomId(String roomId);

    /**
     * 群聊里面删除人员
     * @param roomId  群ID
     * @param userIds 删除人员数组
     * @return 删除条数
     */
    int delRoomUsers(@Param("roomId") String roomId, @Param("userIds") String[] userIds);

    /**
     * 删除某个群的所有成员
     *
     * @param roomId  群ID
     * @return 删除条数
     */
    int delByRoomId(String roomId);

    /**
     * 查询某个用户是否在某个群聊内
     *
     * @param roomId  群ID
     * @param userId  用户ID
     * @return 查询记录数量
     */
    int selectCountByRoomIdAndUserId(@Param("roomId") String roomId,@Param("userId")String userId);

}